

package pers.ljf.escloud.service.component;

import pers.ljf.escloud.common.utils.RedisKeys;
import pers.ljf.escloud.dao.entity.sys.SysConfigEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * 系统配置Redis
 *
 * @author Mark sunlightcs@gmail.com
 */
@Component
public class SysConfigRedis {
    @Autowired
    private RedisUtils redisUtils;

    /**
     * 向redis中缓存系统设置
     * @param config 系统单个k，v设置的配置
     */
    public void saveOrUpdate(SysConfigEntity config) {
        if(config == null){
            return ;
        }
        String key = RedisKeys.getSysConfigKey(config.getParamKey());
        redisUtils.set(key, config);
    }

    /**
     * 删除系统设置缓存
     * @param configKey 单个系统设置的k
     */
    public void delete(String configKey) {
        String key = RedisKeys.getSysConfigKey(configKey);
        redisUtils.delete(key);
    }

    /**
     * 从缓存获取系统设置
     * @param configKey 单个系统设置的k
     * @return
     */
    public SysConfigEntity get(String configKey){
        String key = RedisKeys.getSysConfigKey(configKey);
        return redisUtils.get(key, SysConfigEntity.class);
    }
}
